package newpackage;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import net.miginfocom.swing.MigLayout;

/**
 * Aplikacja Autokomis
 * Klasa odpowiedzialna za zawarto�� zak�adki Konfiguracja
 * @author Grzegorz Robak
 */

public class konfig extends JPanel implements ActionListener{
	private JTextField adres,login,baza;
	private JPasswordField pass;
	private JLabel ad,lo,pa,ba;
	private JButton polacz;
	private JLabel info;

	/**
	 * konstruktor panelu s�u��cego do konfiguracji aplikacji
	 */
	public konfig(){
		setLayout(new MigLayout("wrap 2"));
		adres=new JTextField(MetaDatabase.Dane()[0]);
		login=new JTextField(MetaDatabase.Dane()[2]);
		pass=new JPasswordField(MetaDatabase.Dane()[3]);
		baza=new JTextField(MetaDatabase.Dane()[1]);
		ad=new JLabel("Adres bazy");
		lo=new JLabel("Login bazy");
		pa=new JLabel("Hasło do bazy");
		ba=new JLabel("Nazwa bazy");
		info=new JLabel();
		polacz=new JButton("Połącz");
		adres.setPreferredSize(new Dimension(150,24));
		login.setPreferredSize(new Dimension(150,24));
		pass.setPreferredSize(new Dimension(150,24));
		baza.setPreferredSize(new Dimension(150,24));
		polacz.addActionListener(this);
		polacz.setActionCommand("polacz");
		
		this.add(ad);
		this.add(adres);
		this.add(ba);
		this.add(baza);
		this.add(lo);
		this.add(login);
		this.add(pa);
		this.add(pass);
		this.add(polacz);
		this.add(info, "span 2");
		this.zmianaInfo();
		
	}
/**
 * wywo�ywany gdy wyst�powa�a akcja na komponencie podpi�tym do danego AL
 */
	public void actionPerformed(ActionEvent arg0) {

		if(arg0.getActionCommand()=="polacz"){
			//zastosowanie zmian danych
			MetaDatabase.ZmianaLogin(login.getText());
			MetaDatabase.ZmianaNazwyBazy(baza.getText());
			MetaDatabase.ZmianaPass(pass.getText());
			MetaDatabase.ZmienAdresBazy(adres.getText());
			MetaDatabase.zastosuj();
			zmianaInfo();
			//sprawdzanie bazy
			if(MetaDatabase.test())
				JOptionPane.showMessageDialog(this, "Baza ok");
			else
				JOptionPane.showMessageDialog(this, "Błąd bazy");
		}
		
	}
	private void zmianaInfo(){
		info.setText("<html>Aktualne dane dotyczące bazy danych:<hr>Adres bazy: "+MetaDatabase.Dane()[0]+"<br>Nazwa bazy: "+MetaDatabase.Dane()[1]+"<br>Login do bazy: "+MetaDatabase.Dane()[2]);
	}
	

}
